EXC | 您所在的位置:网站首页 › invoke_main 崩溃 › EXC |
我们在调用block时,如果这个block为nil,则程序会崩溃,报类似于EXC_BAD_ACCESS(code=1, address=0xc)异常【32位下的结果,如果是64位,则address=0x10】。如图1,这个异常表示程序在试图读取内存地址0xc的信息时出错。 在定义一个block时,编译器会在栈上创建一个结构体,类似于图2的结构体。 所以我们在使用block时,应该首先去判断block是否为空。一种比较优雅的写法是: !block ?: block() |
CopyRight 2018-2019 实验室设备网 版权所有 |